package cn.qfys521

import kotlin.text.startsWith

object SystemUtils {
    val isWindows: Boolean
        /**
         * 判断操作系统是否是 Windows
         *
         * @return true：操作系统是 Windows
         * false：其它操作系统
         */
        get() {
            val osName = osName

            return osName != null && osName.startsWith("Windows")
        }

    val isMacOs: Boolean
        /**
         * 判断操作系统是否是 MacOS
         *
         * @return true：操作系统是 MacOS
         * false：其它操作系统
         */
        get() {
            val osName = osName

            return osName != null && osName.startsWith("Mac")
        }

    val isLinux: Boolean
        /**
         * 判断操作系统是否是 Linux
         *
         * @return true：操作系统是 Linux
         * false：其它操作系统
         */
        get() {
            val osName = osName

            return (osName != null && osName.startsWith("Linux")) || (!isWindows && !isMacOs)
        }

    val osName: String?
        /**
         * 获取操作系统名称
         * @return os.name 属性值
         */
        get() = System.getProperty("os.name")
}